package com.chart.chart.domian;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;
import java.util.Map;

@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("chart_configs_user_new")
public class ChartConfigsUserNew {
    private static final long serialVersionUID = 1L;

    /**
     * 参数主键
     */
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;

    /**
     * 用户id
     */
    private Long userId;

    /**
     * 配置id
     */
    private Integer configId;

    /**
     * 图表类型
     */
    private Integer chartType;  // 修改为Integer以匹配数据库类型tinyint(1)

    /**
     * 图表键值
     */
    private String chartValue;

    /**
     * 图表名称
     */
    private String chartName;

    /**
     * 图表图层
     */
    private String chartLayer;

    /**
     * 封面
     */
    @TableField(exist = false)
    private String chartCover;

    /**
     * 1:图表  2：大屏
     */
    private Integer chartModeType;

    /**
     * 热度
     */
    private Long hot;

    /**
     * 排序 数据库中没有该字段
     */
    @TableField(exist = false)
    private Long sortOrder;

    @TableField(exist = false)
    private List<Map<String, Object>> dataLists;

    /**
     * 文件夹id
     */
    private Long fileId;

    /**
     * 参数键名
     */
    private Integer chartLegend;  // 修改为Integer以匹配数据库类型tinyint(4)

    /**
     * 技术领域id
     */
    @TableField(exist = false)
    private Long technologyId;

    private Long subjectId;

    private Integer isFree;  // 修改为Integer以匹配数据库类型tinyint(4)

    @TableField(exist = false)
    private List<Long> ids;

    @TableField(exist = false)
    private String name;

    @TableField(exist = false)
    private String startTime;

    @TableField(exist = false)
    private String endTime;

    @TableField(exist = false)
    private String templateUrl;

    /**
     * 参数键名
     */
    @TableField(exist = false)
    private String technologyName;

    /**
     * 显示隐藏
     */
    private Integer status;  // 确保存在status字段并匹配数据库类型int(25)

    private String chartData;

    /**
     * 状态码
     */
    @TableField(exist = false)
    private Integer returnValue;

    private String imageUrl;

    @TableField(exist = false)
    private String imageBase64;


    private Long  save;
    private Long  export;

    @TableField(exist = false)
    private String chartTypeId;

    @TableField(exist = false)
    private String configName;  // 新增字段
    @TableField(exist = false)
    private String configAddr;

    //照片路径
    @TableField(exist = false)
    private String photoUrlSecondary;

    //文本描述
    @TableField(exist = false)
    private String configText;

    @TableField(exist = false)
    private String windowText;

    private Integer  source;


    private  String label;

}
